// CSE571 - dealer.h                                                         
// Authors: Jonathan Wald, Daniel Sarfati, Guangle Fan                         
// Dealer class which holds data about games and players for server.  

#ifndef DEALER_H
#define DEALER_H

#include <vector>
#include <string>
#include <map>

#include "server-interpreter.h"

class Player;
class Game;

using namespace std;

class Dealer {

 public:
  static Dealer* instance();
  Dealer();
  string name;
  multimap<string, Player*> players;
  map<string, Game*> games;
  map<string, Game*> finished_games;
  ServerInterpreter interpreter;

  virtual int init (int argc, char *argv[]);                    
  virtual int fini (void);                                      
  virtual int suspend (void);                                   
  virtual int resume (void);                                    
  virtual int info (char **, size_t = 0);                       

  bool plays_holdem;
  bool plays_stud;
  bool plays_draw;

 private:
  static Dealer* instance_;

};

#endif
